Data storage systems, such as RAID storage systems and other multiple-disk storage systems, often rely on a plurality of data storage disks operating in conjunction to manage high volumes of data efficiently. Technological developments in the field of data storage devices have led to several different types of data storage technologies (e.g. SSD, SAS, SATA, flash, etc.) that can be employed for different disks in the same data storage system. As a result, performance characteristics may not be uniform among a plurality of disks making up a data storage system.
Overall performance of a data storage system is driven by the performance of each individual disk of the plurality of disks making up the data storage system. The performance of a data storage system can be defined as the number of input/output operations (IOs) that the plurality of disks making up the system can handle in a given period of time. A queue depth for each disk is a parameter associated with the number of outstanding IOs issued to a disk and still awaiting response. If IOs are issued in excess of a disk's maximum queue depth, the disk may eventually return a “queue full” response signaling an initiator issuing the IOs to stop or reduce the number of IOs being sent to the disk. A “queue full” condition from any disk in the plurality of disks making up a data storage system tends to decrease the overall performance of data storage system.
It is desirable to set maximum queue depth of each disk high enough to avoid “queue full” conditions. However, increasing maximum queue depth also tends to increase response time per IO of the disk. Accordingly, maximum queue depth settings of individual disks in a data storage system can decrease overall performance of the data storage system if maximum queue depths of the disks are set too high or too low. Furthermore, the relationship between performance parameters (e.g. IOs per second, average response time, maximum response time, etc.) and various queue depth settings often varies among the disks making up the data storage system because of different disk technologies being employed, among other reasons.